public class Student {
    private String studentId;   // 学生编号
    private String name;        // 姓名
    private String gender;      // 性别
    private int grade;          // 年级（扩展属性）
    private Course course;      // 所选课程

    // 构造方法
    public Student(String studentId, String name, String gender, int grade) {
        this.studentId = studentId;
        this.name = name;
        this.gender = gender;
        this.grade = grade;
    }

    // 学生选课方法
    public void selectCourse(Course course) {
        if (this.course != null) {
            System.out.println(name + " 已有选课记录，需退课后方可重新选课！");
            return;
        }
        this.course = course;
        System.out.println(grade + "级 " + name + " 学生选择了课程《" + course.getCourseName() + "》");
    }

    // 学生退课方法
    public void dropCourse() {
        if (course != null) {
            System.out.println(name + " 学生退选了课程《" + course.getCourseName() + "》");
            this.course = null;
        } else {
            System.out.println(name + " 学生当前无选课记录，无法退课！");
        }
    }

    // 打印学生课表
    public void printSchedule() {
        if (course != null) {
            System.out.println("=== " + grade + "级 学生 " + name + " 的课表 ===");
            System.out.println(course); // 直接使用Course的toString方法
            System.out.println("==============================");
        } else {
            System.out.println(grade + "级 学生 " + name + " 暂无选课记录");
        }
    }
}